Shading Language Overview
نویسنده
چکیده
Programmable Graphics Processing Units (GPUs) have become widespread. They now support floating-point computations and general programming models. A shading language is a domain-specific programming language for specifying shading computations. In this section of the course notes, we will review several high-level real-time shading languages for programming modern GPUs. These languages have evolved from academic experiments into necessary tools for real-time graphics. Historically, the idea of a shading language is often credited to Cook [3]. Pixar’s RenderMan shading language was developed shortly thereafter and has become a standard in the offline domain [4, 14, 1, 11]. The RenderMan shading language has strongly influenced the design of modern real-time shading languages, particularly the idea of uniform and varying parameters. However, the RenderMan standard, although originally intended as a hardware API, is no longer used as such, and modern GPU shading languages need to target the hardware architecture of modern GPUs. The SGI Interactive Shading Language [10] compiles a shader specification to a multipass implementation, but does not generate complex shader kernels, only primitive passes. The Stanford Real-Time Shading Language was one of the first attempts to build a shading language specifically designed for the shading units of graphics processors [12, 7]. It is so far unique in that it supported a single shader for programming both vertex and fragment units. NVIDIA’s Cg [6] language was one of the earlier commercially available shading languages to run on commodity GPU hardware. Although developed by NVIDIA, it supports multiple hardware platforms, and is the only commercial shading language to support both DirectX and OpenGL. It is related to a number of other tools, including CgFX, which is used to specify multipass algorithms. Microsoft’s HLSL for DirectX was originally similar to Cg but has since then diverged. The Direct3D Effects system is similar to CgFX, and permits the specification of multipass algorithms. The OpenGL standards group recently approved the OpenGL 2.0 Shading Language [5, 13], frequently called GLSL. This shading language will be integrated into the next generation of the OpenGL API and is intended to become the standard-supported way to program GPUs under the OpenGL API.
منابع مشابه
Audiovisual Programs As Sources Of Language Input: An Overview
Audiovisual devices such as satellite and conventional televisions can offer easy access to authentic programs which are considered to be a rich source of language input for SLA (Second Language Acquisition). The immediacy of various audiovisual programs ensures that language learners’ exposure is up-to-date and embedded in the real world of native speakers. In the same line, in the present pap...
متن کاملAn Overview of Temporal Coherence Methods in Real-Time Rendering
Most of the power of modern graphics cards is put into the acceleration of shading tasks because here lies the major bottleneck for most sophisticated real-time algorithms. By using temporal coherence, i.e. reusing shading information from a previous frame, this problem can be alleviated. This paper gives an overview of the concepts of temporal coherence in real-time rendering and should give t...
متن کاملIgnoring Hardware Differences
One of the great promises of real-time shading is the potential to have a single shading program that can run across a wide range of graphics hardware. While we don’t yet have a single cross-platform shading language to satisfy everyone, there is ample evidence that it is possible. In this chapter, we discuss what is necessary to create a cross-platform shading language, how shading languages a...
متن کاملAn Overview of Vocabulary Learning Strategies in English as a Foreign Language
Researchers in the area of EFL learning have tried to put the way(s) by which EFL learners learnEnglish vocabulary into some frames and present them as strategies. This paper reviewsdescriptive research on vocabulary learning strategies in English as a foreign language. Thereview focuses on common strategies that learners use in vocabulary learning such as dictionarystrategies, note-taking stra...
متن کاملAshli – Advanced Shading Language Interface
The support for IEEE floating point computation and the exposure of shading functionality in a standardize API form have made graphics hardware a viable workflow solution to an artist involved in digital content creation (DCC). Nevertheless, there still remains a significant interface void between the abstract shading description an artist is used to and the low level shading constructs the har...
متن کامل